package com.example.system.service.contest;

import com.example.common.core.domain.R;
import com.example.system.domain.contest.Contest;
import com.example.system.domain.contest.DTO.ContestAddDTO;
import com.example.system.domain.contest.DTO.ContestEditDTO;
import com.example.system.domain.contest.DTO.ContestQueryDTO;
import com.example.system.domain.contest.DTO.ContestQuestionADDDTO;
import com.example.system.domain.contest.vo.ContestDetailVO;
import com.example.system.domain.contest.vo.ContestVO;

import java.util.List;

public interface ContestService {
    List<ContestVO> list(ContestQueryDTO contestQueryDTO);

    R<String> add(ContestAddDTO contestAddDTO);

    boolean addQuestion(ContestQuestionADDDTO contestQuestionADDDTO);

    R<ContestDetailVO> detail(Long id);

    int edit(ContestEditDTO contestEditDTO);

    int deleteQuestion(Long contestId, Long questionId);

    int delete(Long id);

    int publish(Long id);

    int cancelPublish(Long id);
}
